In tuner design, various steps have been undertaken in order to compensate for or eliminate spurious signals associated with sampling clock frequencies and/or frequencies of one or more local oscillators of the tuner circuit. Included in these compensation steps are measures directed to shifting the sampling frequencies utilized in a tuner circuit in a manner to cause such spurious signals to fall outside of the output band of interest for a particular channel being tuned. However, these measures may create adverse effects on subsequent signal processing functions of the tuner.
For example, in tuners which integrate channel filtering functionality into the tuner circuit, filters, such as a Finite Impulse Response (“FIR”) filter, are utilized. These filters generally come with a pre-defined set of filter coefficients which are configured to exhibit frequency response characteristics corresponding to a desired configuration of the filter. However, spur avoidance algorithms which shift the sampling clock and/or other digital clocks to remove a spur from the desired output band cause the coefficient set of a particular FIR filter to exhibit an unwanted frequency response in response to the shifted sampling frequency.
One method to compensate for the above phenomenon is to embed multiple filters onto a ROM located on the tuner chip and configure the ROM to provide different selected filter coefficients depending on the sampling or clock frequency utilized by the tuner. This method however, is only acceptable when there are a small amount of possible sample frequency variations. For example, in tuner circuits where spur avoidance methods utilize a much larger or even contiguous frequency range of sampling frequencies, utilizing multiple filters embedded on a ROM becomes unduly burdensome due to the number of differing coefficient sets which must be stored.
Another method to compensate filter coefficients for shifting sampling frequencies could be to implement an off-chip software recalculation using the respective driver software. A method such as this would be disfavored due to its many limitations. For example, if a system were to implement this type solution, it could only perform within a limited number of sampling frequency changes because the speed of the recalculation and subsequent reconfiguration of the filter on the tuner chip would be too slow to meet consumer demands. This problem would be further exacerbated when compensating for large ranges of sampling frequencies.
Another method would be to resample the signal to match the frequency at which the filter was designed. This method to avoid the re-computation of the filter coefficients ends up creating a new spur at a frequency multiple of the resample rate. The spur energy is created by information in the signal itself revamped at the resample frequency. This creates a second set of spur frequencies to avoid. Using a single sampling rate, we can focus the spur avoidance to a single set of spurs to avoid.